//package com.shanwen.shopping.dao;
//
//import android.content.Context;
//
//import com.classic.core.utils.DataUtil;
//import com.shanwen.shopping.app.ShoppingApplication;
//
//import java.util.List;
//
//import de.greenrobot.dao.query.DeleteQuery;
//import de.greenrobot.dao.query.QueryBuilder;
//
//public class ShoppingCartHelper {
//
//    private Context mContext;
//    private static volatile ShoppingCartHelper instance;
//
//    private ShoppingCartItemDao dao;
//
//    private ShoppingCartHelper(Context context) {
//        this.mContext = context;
//        DaoSession daoSession = ShoppingApplication.getDaoSession(context);
//        dao = daoSession.getShoppingCartItemDao();
//    }
//
//    public static ShoppingCartHelper getInstance(Context context) {
//        if (instance == null) {
//            synchronized (ShoppingCartHelper.class) {
//                if (instance == null) {
//                    instance = new ShoppingCartHelper(context);
//                }
//            }
//        }
//        return instance;
//    }
//
//    /** 查询购物车所有商品 */
//    public List<ShoppingCartItem> getAll(){
//        return dao.loadAll();
//    }
//
//    /** 添加商品 */
//    public void add(ShoppingCartItem item){
//        dao.insert(item);
//    }
//
//    /** 更新商品 */
//    public void update(ShoppingCartItem item){
//        dao.update(item);
//    }
//
//    /**
//     * 是否已经添加
//     * @param item
//     * @return 如果商品已经存在购物车,返回主键id
//     */
//    public long exists(ShoppingCartItem item){
//        QueryBuilder<ShoppingCartItem> builder = dao.queryBuilder();
//        List<ShoppingCartItem> result =
//                builder.where(builder.and(
//                        ShoppingCartItemDao.Properties.GoodsId.eq(item.getGoodsId()),
//                        ShoppingCartItemDao.Properties.SkuId.eq(item.getSkuId()),
//                        ShoppingCartItemDao.Properties.SkuPropName.eq(item.getSkuPropName()),
//                        ShoppingCartItemDao.Properties.SkuPropValue.eq(item.getSkuPropValue())
//                )).list();
//
//        return DataUtil.isEmpty(result) ? 0 : result.get(0).getId() ;
//    }
//
//    /** 批量删除数据 */
//    public void delete(List<Long> ids){
//        if(DataUtil.isEmpty(ids)) return;
//        QueryBuilder<ShoppingCartItem> builder = dao.queryBuilder();
//        DeleteQuery<ShoppingCartItem> deleteQuery = builder.where(ShoppingCartItemDao.Properties.Id.in(ids)).buildDelete();
//        deleteQuery.executeDeleteWithoutDetachingEntities();
//    }
//
//    /** 删除数据 */
//    public void delete(long id){
//        QueryBuilder<ShoppingCartItem> builder = dao.queryBuilder();
//        DeleteQuery<ShoppingCartItem> deleteQuery = builder.where(ShoppingCartItemDao.Properties.Id.eq(id)).buildDelete();
//        deleteQuery.executeDeleteWithoutDetachingEntities();
//    }
//
//    /** 删除数据 */
//    public void deleteAll(){
//        dao.deleteAll();
//        //QueryBuilder<ShoppingCartItem> builder = dao.queryBuilder();
//        //DeleteQuery<ShoppingCartItem> deleteQuery = builder.where(ShoppingCartItemDao.Properties.Id.eq(id)).buildDelete();
//        //deleteQuery.executeDeleteWithoutDetachingEntities();
//    }
//
//}
